/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ingresos;

import Usuarios.conexion;
import Controladores.AulaJpaController;
import Controladores.EdificioJpaController;
import Controladores.exceptions.IllegalOrphanException;
import Controladores.exceptions.NonexistentEntityException;
import Entidades.Aula;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;


/**
 *
 * @author EliteBook
 */
//Erick Valencia
public class IAula 
{
    public IAula()
    {
        
    }
    public void guardar(String nombre,short capacidad,String observaciones, boolean laboratorio,int idEdificio)
    {
       Aula aula = new Aula(); 
       EntityManagerFactory emf = conexion.getInstancia().getEMF();
       AulaJpaController controlador = new AulaJpaController(emf); 
       aula.setAnulado(false);
       aula.setNombre(nombre);
       aula.setLaboratorio(laboratorio);
       aula.setObservaciones(observaciones);
       aula.setCapacidad(capacidad);
       EdificioJpaController controladorEdificio = new EdificioJpaController(emf);
       aula.setEdificioidEdificio(controladorEdificio.findEdificio(idEdificio));
       controlador.create(aula);
    }
    public void crearHorarioAula(Aula aula){
        
    }
    public void modificar(Aula aula)
    {
       EntityManagerFactory emf = conexion.getInstancia().getEMF();
       AulaJpaController controlador = new AulaJpaController(emf); 
        try {
            controlador.edit(aula);
        } catch (IllegalOrphanException ex) {
            Logger.getLogger(IAula.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NonexistentEntityException ex) {
            Logger.getLogger(IAula.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(IAula.class.getName()).log(Level.SEVERE, null, ex);
        }
      
    }
    public Aula buscarId(int id)
    {
       EntityManagerFactory emf = conexion.getInstancia().getEMF();
       AulaJpaController controlador = new AulaJpaController(emf);
       return controlador.findAula(id);
    }    
    public List<Aula> buscarNombre(String nombre)
    {
       EntityManagerFactory emf = conexion.getInstancia().getEMF();
       EntityManager em = emf.createEntityManager();
       Query qr;
       qr = em.createNamedQuery("Aula.findByNombre");
       qr.setParameter("nombre", nombre);
       List<Aula> lista = qr.getResultList();
       return lista;
    }
    public List<Aula> mostrarTodo()
    {
       EntityManagerFactory emf = conexion.getInstancia().getEMF();
       AulaJpaController controlador = new AulaJpaController(emf);
       return controlador.findAulaEntities();
    }
    public List<Aula>mostrarTodoTrue()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
       EntityManager em = emf.createEntityManager();
       Query qr;
       qr = em.createNamedQuery("Aula.findByAnulado");
       qr.setParameter("anulado", true);
       List<Aula> lista = qr.getResultList();
       return lista;
    }
    public List<Aula>mostrarTodoFalse()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
       EntityManager em = emf.createEntityManager();
       Query qr;
       qr = em.createNamedQuery("Aula.findByAnulado");
       qr.setParameter("anulado", false);
       List<Aula> lista = qr.getResultList();
       return lista;
    }
    public String toString(int id)
    {
        Aula aula = this.buscarId(id);
        return aula.toString();
    }
 }
